package com.upb.webserver.common.enums;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;

/**
 *
 */

@Getter
@ToString
@AllArgsConstructor
public enum DockerImageTypeEnum {
    MANUAL((byte) 0, "手动上传镜像到节点主机"),
    PULL_OFFICIAL((byte) 1, "节点主机从 Docker 官方拉取镜像"),
    LOCAL_OFFLINE((byte) 2, "部署服务主机使用离线镜像，直接使用 scp 发送到节点主机"),
    DOWNLOAD_CDN_AND_SCP_TO_REMOTE_HOST((byte) 3, "部署服务主机统一从 CDN 拉取镜像后，再使用 scp 发送到节点主机"),
    DOWNLOAD_CDN((byte) 4, "每台节点主机单独从 CDN 拉取镜像包"),
    ;

    private byte id;
    private String description;

    /**
     * @param id
     * @return
     */
    public static DockerImageTypeEnum getById(byte id) {
        for (DockerImageTypeEnum value : DockerImageTypeEnum.values()) {
            if (value.id == id) {
                return value;
            }
        }
        return null;
    }
}
